<?php
// Profile ID
$pid = $form_values['pid'];

$profile = dvbanner_profile_get($pid);

// Nếu có tải tập tin default image/logo
$image = file_check_upload ('image');
$logo = file_check_upload ('logo');

if ($profile->data['image']) {
	$form_values['image'] = $profile->data['image'];
}

if ($profile->data['logo']) {
	$form_values['logo'] = $profile->data['logo'];
}

if ($image || $logo) {
	// Tạo thư mục chứa các tập tin của profile khi cần thiết
	$profile_path = 'files/dvbanner/profiles/' . $pid;
	file_check_directory ($profile_path, FILE_CREATE_DIRECTORY);
	
	// Nếu tải lên ảnh mặc định
	if ($image) {
		if ($image 	= file_save_upload ($image, $profile_path . '/' . $image->filename)) {
			$form_values['image'] = $image->filepath;
		}
	}
	
	// Nếu tải lên logo
	if ($logo) {
		if ($logo 	= file_save_upload ($logo, $profile_path . '/' . $logo->filename)) {
			$form_values['logo'] = $logo->filepath;
		}
	}
}

// Tạo biến $data để phù hợp cho việc lưu trữ  
foreach ($form_values as $key => $val) {
	// chỉ chấp nhận một số field xác định
	$allowed_fields = array (
		'height', 'width', 'image', 
		'backcolor', 'frontcolor', 'lightcolor', 'screencolor', 
		'logo', 'overstretch', 'showicons', 'showeq', 
		'shownavigation', 'showstop', 'showdigits', 'usefullscreen', 'showdownload',
		'autostart', 'repeat', 'shuffle', 'rotatetime'
	);
	
	if (in_array ($key, $allowed_fields)) {
		$profile->data[$key] = $val;
	}
}

// Truy vấn
if (count ($profile->data)) {
	db_query (
		"UPDATE {dvbanner_profile} SET name = '%s', data = '%s' WHERE pid = %d",
		$form_values['name'], serialize ($profile->data), $pid
	);
}

// Thông báo
drupal_set_message (t(
	"Updated profile <strong>!name</strong>.", 
	array ('!name' => check_plain ($form_values['name'])
)));

// Chuyển hướng người dùng
drupal_goto ('admin/build/block/dvbanner/profiles');
